APISan: Sanitizing API Usages through Semantic Cross-Checking
نویسندگان
چکیده
API misuse is a well-known source of bugs. Some of them (e.g., incorrect use of SSL API, and integer overflow of memory allocation size) can cause serious security vulnerabilities (e.g., man-in-the-middle (MITM) attack, and privilege escalation). Moreover, modern APIs, which are large, complex, and fast evolving, are error-prone. However, existing techniques to help finding bugs require manual effort by developers (e.g., providing specification or model) or are not scalable to large real-world software comprising millions of lines of code. In this paper, we present APISAN, a tool that automatically infers correct API usages from source code without manual effort. The key idea in APISAN is to extract likely correct usage patterns in four different aspects (e.g., causal relation, and semantic relation on arguments) by considering semantic constraints. APISAN is tailored to check various properties with security implications. We applied APISAN to 92 million lines of code, including Linux Kernel, and OpenSSL, found 76 previously unknown bugs, and provided patches for all the bugs.
منابع مشابه
Mediation Enabled Semantic Web Services Usage
The Semantic Web services has become a challenging research topic in the last half of decade. Various frameworks offer means to semantically describe all the related aspects of Semantic Web services, but the solutions to the heterogeneity problems, inherent in a distributed environment as the Web, are still to be properly integrated and referred to from the main phases of the Web services usage...
متن کاملDevelopment of Multi-Framework Model Components
A number of environmental modelling frameworks have been developed recently, and plans for new frameworks are under way. Examples such as TIME, OpenMI, SME and OMS share an approach to environmental modelling based on model components, and offer improved model development and deployment. These approaches have methods for ensuring model component-linking compatibility using manual and machine pr...
متن کاملAutomatic API Usage Rule Extraction for Software Model Checking
The need to manually specify temporal properties of software systems is a major barrier to wider adoption of software model checking, because the specification of software temporal properties is a difficult, time-consuming, and error-prone process. To solve this problem, we propose to automatically extract temporal specifications from code. Our approach uses a model checker to check a set of AP...
متن کاملMAPO: Mining and Recommending API Usage Patterns
To improve software productivity, when constructing new software systems, programmers often reuse existing libraries or frameworks by invoking methods provided in their APIs. Those API methods, however, are often complex and not well documented. To get familiar with how those API methods are used, programmers often exploit a source code search tool to search for code snippets that use the API m...
متن کاملCross-Lingual Web API Classification and Annotation
Recent developments on the Web are marked by the growing support for the Linked Data initiative, which encourages government and public organisations, as well as private institutions, to expose their data on the Web. This results in a plentitude of multi-lingual document collections where the original resources are published in the language, in which they are available. The challenges of multil...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016